package day06;

import java.util.Random;

public class MethodDemo {
    public static void main(String[] args) {
        say();// 调用say方法
        say();
        System.out.println("哈哈哈");
        sayHi("xiaomin");
        System.out.println("-----------------------");

        sayHi("小李");
        sayHello("小王", 25);
        sayHello("lisi", 22);
        System.out.println("-----------------------");

        int a = sum(5, 6);// sum(5,6)的值就是return后的那个数
        System.out.println(a);// 11
        int m = 5, n = 6;
        int a1 = sum(m, n);// 传的是m和n里面的数
        System.out.println(a1);//11
        System.out.println("-------------------");

        int[] c = generateArray(10,99);
        System.out.println("数组的长度："+c.length);
        System.out.println("第2个元素的值："+c[1]);
        for (int i=0;i<c.length;i++){
            System.out.println(c[i]);
        }

        int[] d = generateArray(10,100);
        System.out.println("数组d的长度："+d.length);
        System.out.println("第1个元素的值："+d[0]);
        for (int i=0;i<c.length;i++){
            System.out.println(d[i]);
        }
        System.out.println("---------------");
        sayHello2("zhansan",25);
        sayHello2("lisi",66);
        System.out.println("-----------");
        say1();
        say1("zhangdan");
        say1("xiaowan",22);
        System.out.println("-------------");




    }
    public static void say2(){}//正确重载
    public static void say2(String name){}//正确重载
    public static void say2(int age){}//正确重载
    public static void say2(int age,String name){}// 正确的重载
    // public static int say2(){return 1;}//重载与返回型类型无关
    // public static void say2(String address){}// 编译错误，重载与参数名称无关

    public static void say1(){
        System.out.println("大家好");
    }
    public static void say1(String name){
        System.out.println("大家好，我叫"+name);
    }
    public  static void say1(String name,int age){
        System.out.println("大家好，我叫"+name+"今年"+age+"岁");
    }
    // 有参无返回值
    public static void sayHello2(String name,int age){ // -------形参
        if (age>=50){ // 在某种特定条件下，提前结束方法
            return; // 结束方法
        }
    }
    // 生成一个整型数组，并填充随机数据
    public static int[] generateArray(int len,int max){
        Random rand = new Random();
        int[] arr = new int[len];
        for (int i=0;i<arr.length;i++){
            arr[i] = rand.nextInt(max+1);//max不包括自己，写100：就是0-99，包括+1，不包括就不加132
        }
        return arr;
    }

    // 有参有返回值
    public static int sum(int num1, int num2) {
        int num = num1 + num2;
        return num;// 返回的是num里面的那个数
        //return num1+num2; //返回的是num1与num2的和
    }

    // 有参无返回值
    public static void sayHi(String name) {
        System.out.println("大家好，我叫" + name + ",今年30岁了");
    }

    // 有参无返回值
    public static void sayHello(String name, int age) {
        System.out.println("大家好，我叫" + name + ",今年" + age + "岁");
    }

    // 无参无返回值
    public static void say() {
        System.out.println("大家好，我叫小明,今年8岁了");
    }
}
